Access by remote users of server-based applications gives rise to several security risks. One of these is the risk that data will remain on a public, or otherwise unprotected, computer following the access of such data by a given user. This risk is exacerbated by the caching feature inherent in common web browsers. Although a user may successfully log off and terminate his session with the server, information such as cookies, web pages, images, and documents accessed during the session may remain stored in the temporary files of the computer terminal. In that case, subsequent users at the same terminal may be able to access such files, which may contain confidential or sensitive information, even though the original user has logged off and there is no longer any connection between the computer terminal and the server.
In order to address this concern, there are several alternatives currently available to eliminate or minimize risk. First, the user can manually use the menu on the Web browser to request that the cache on the browser be cleared. This feature, standard in most browsing software, deletes the temporary files from the terminal's hard drive. However, as a manual solution, this alternative relies on the ability and presence of mind of the users to consistently take this additional step. In addition, in the event that the terminal configuration is such that the user does not have this ability, by the time the user learns this, the user typically will already have downloaded the data. Second, the server, or a gateway in front of the server, may send HTML tags, HTTP headers, and/or other instructions to the browser requesting not to cache the information. However, given the variety of browsers and unpredictability of browser compliance with such instructions, there is no assurance of consistent effectiveness. Moreover, certain popular applications may not function properly when the browser is operating in “no-cache” mode. In addition, as in the case of the manual alternative, if it is unsuccessful, the downloaded data will remain on the terminal. Other available alternatives include application-specific programs which manage and define a private, application-specific cache separate from the browser cache (and which utilize the Web only as a means of transferring data). However, such a solution is by definition limited in scope and function, insofar as it cannot be used for generic applications, and may not run on all types of publicly accessible terminals.